home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / answers / comp / sgi / faq / performer < prev    next >
Encoding:
Internet Message Format  |  1994-04-07  |  23.1 KB

  1. Path: bloom-beacon.mit.edu!hookup!yeshua.marcam.com!MathWorks.Com!europa.eng.gtefsd.com!emory!swrinde!cs.utexas.edu!news.tamu.edu!sgi-faq
  2. From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  3. Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
  4. Subject: SGI performer Frequently Asked Questions (FAQ)
  5. Supersedes: <performer_764182743@viz.tamu.edu>
  6. Followup-To: comp.sys.sgi.misc
  7. Date: 6 Apr 1994 20:12:37 GMT
  8. Organization: Visualization Lab, Texas A&M University
  9. Lines: 635
  10. Approved: news-answers-request@mit.edu
  11. Expires: 4 May 1994 20:11:14 GMT
  12. Message-ID: <performer_765663074@viz.tamu.edu>
  13. Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  14. NNTP-Posting-Host: viz.tamu.edu
  15. Originator: sgi-faq@viz
  16. Xref: bloom-beacon.mit.edu comp.sys.sgi.misc:9365 comp.answers:4792 news.answers:17742
  17.  
  18. Archive-name: sgi/faq/performer
  19. Last-modified: Tue Feb 22 11:52:23 CST 1994
  20.  
  21.     SGI performer Frequently Asked Questions (FAQ)
  22.  
  23. This is one of the Silicon Graphics FAQ series, which consists of:
  24.  
  25.     SGI admin FAQ - IRIX system administration
  26.     SGI apps FAQ - Applications & compilers
  27.     SGI graphics FAQ - Graphics and user environment customization
  28.     SGI hardware FAQ - Hardware
  29.     SGI misc FAQ - Introduction & miscellaneous information
  30.     SGI performer FAQ - IRIS Performer
  31.     SGI pointer FAQ - Pointer to the other FAQs
  32.  
  33. Read the misc FAQ for information about the FAQs themselves.  Each FAQ
  34. is posted to comp.sys.sgi.misc and to the news.answers and comp.answers
  35. newsgroups (whose purpose is to store FAQs) twice per month.  If you
  36. can't find one of the FAQs with your news program, you can get it by
  37. anonymous FTP from one of these sites:
  38.  
  39.     rtfm.mit.edu:/pub/usenet/comp.sys.sgi.misc/
  40.     rtfm.mit.edu:/pub/usenet/news.answers/sgi/faq/
  41.     rtfm.mit.edu:/pub/usenet/comp.answers/sgi/faq/
  42.     viz.tamu.edu:/pub/sgi/faq/
  43.  
  44. Note that rtfm.mit.edu is home to many other FAQs and informational
  45. documents, and is a good place to look if you can't find an answer
  46. here. If you can't use FTP, send mail to mail-server@rtfm.mit.edu with
  47. the command 'send usenet/news.answers/ftp-list/faq' on a line by itself
  48. in the text, and it will send you a document describing how to FTP by
  49. mail. You can also read a hypertext version of the FAQs at
  50.  
  51.     http://www.cis.ohio-state.edu/hypertext/faq/usenet/sgi/top.html
  52.  
  53. The SGI FAQs are freely distributable and wide circulation is encouraged.
  54. The contents are accurate as far as we know, but the usual disclaimers
  55. apply. Please send additions and changes to sgi-faq@viz.tamu.edu.
  56.  
  57. Topics covered in this FAQ:
  58. ---------------------------
  59.    -1- What is IRIS Performer?
  60.    -2- Where can I get more technical information about IRIS Performer?
  61.    -3- Where can I get more product information about IRIS Performer?
  62.    -4- How does IRIS Performer relate to IRIS Inventor?
  63.    -5- What are the released versions of IRIS Performer?
  64.    -6- Is there a IRIS Performer file format?
  65.    -7- What database file formats can IRIS Performer read?
  66.    -8- Is there an IRIS Inventor file reader for IRIS Performer?
  67.    -9- What are the .tlf files used by the Performer Town and Village?
  68.   -10- What are the minimum requirements for using IRIS Performer?
  69.   -11- How do I make GL calls from within a IRIS Performer program?
  70.   -12- How do I overlay graphics on top of my Performer scene?
  71.   -13- What is the difference between phases FREE, FLOAT, and LOCK?
  72.   -14- Which rendering primitives does IRIS Performer support?
  73.   -15- How do I do triangle meshes in Performer?
  74.   -16- pfInit(): mmap failed for /dev/zero
  75.   -17- IRIX 5.x Bug in Performer Town or Village demos
  76.   -18- 1.0 Doc Bug in pfMakePolarSeg() man page
  77.   -19- 1.0 Doc Bug in pfDispList() man page
  78.   -20- 1.0 Doc Bug in PFPG (simple.c)
  79.   -21- 1.0 Bug in pfGetTime()
  80.   -22- 1.0 Bug in pfNodeBBox()
  81.   -23- 1.0 Bug in pfInitGfx() with Z-buffer on RealityEngine
  82.   -24- 1.0 Bug in libpfflt combineLODs()
  83.   -25- 1.0 Bug with two-sided material and pfMtlColorMode()
  84.   -26- 1.0 Bug in pfFilePath()
  85.   -27- 1.0 Bug in pfGetCurGState()
  86.   -28- 1.0 Bug in pfGetCurState()
  87.   -29- 1.0 Bug with cloned scenes
  88.   -30- 1.0 Bug intersections in collide.c
  89.   -31- 1.0 Bug with flattened pfLightPoints
  90.   -32- 1.0 Bug intersections with pfSequences
  91.   -33- 1.0 Bug intersections with non-indexed quads
  92.   -34- 1.0/1.1 Bug intersections with pfSwitch'es
  93.   -35- 1.0/1.1 Bug with pfTexture()
  94.   -36- 1.0/1.1 Bug with pfAntiAlias()
  95.   -37- 1.0/1.1 Bug with pfFlatten()
  96.   -38- 1.0/1.1 Bug with pfSequences
  97.   -39- 1.0/1.1 Bug with pfClosestPtOnPlane()
  98.   -40- 1.0/1.1 Bug on ELAN/XS with wireframe PFGS_QUADS
  99.   -41- 1.1 Bug with FP underflow
  100.   -42- 1.1 Bug with Multipipe Onyx
  101.  
  102. ----------------------------------------------------------------------
  103.  
  104. Subject:    -1- What is IRIS Performer?
  105. Date: 06 Oct 93 00:00:01 EST
  106.  
  107. IRIS Performer is a software development environment that supports
  108. programmers implementing high performance graphics applications on
  109. Silicon Graphics products.  It offers both high level facilities for
  110. visual simulation and virtual reality tasks and an application-neutral
  111. high-performance hardware-oriented graphics toolkit.
  112.  
  113. The outer application specific layer of IRIS Performer implements the
  114. tasks needed by visual simulation applications: it performs culling so
  115. that only potentially visable geometry is sent to the graphics
  116. hardware; it controls multiple display channels; it provides fast
  117. intersection tests with simulation databases; and most importantly, it
  118. orchestrates all of this in parallel with rendering on multiple
  119. processor IRIS systems.
  120.  
  121. The lower-level rendering portion of IRIS Performer is designed for
  122. maximum performance: its efficient data structures reflect the details
  123. of CPU, cache, and memory system architectures; its tuned rendering
  124. loops convert the system CPU into an optimized data movement engine;
  125. and its optimized state management system optimizes hardware
  126. utilization.
  127.  
  128. IRIS Performer provides a high-performance portability path across the
  129. Silicon Graphics product line. The low level library is implemented as
  130. a hardware-specific shared library, so applications based on IRIS
  131. Performer can achieve peak performance on graphics systems from Elan to
  132. RealityEngine2 without changes or recompilation.
  133.  
  134. The product includes a programmer's guide and printed man pages, as
  135. well as on-line man pages, test and demonstration programs, and
  136. complete real-time visual simulation applications. These applications
  137. are provided in source form as an examples of how to build real-time
  138. simulation systems using IRIS Performer. Also included are several
  139. databases in FLIGHT and Wavefront "OBJ" format and source code for
  140. database readers that can load them.
  141.  
  142. ------------------------------
  143.  
  144. Subject:    -2- Where can I get more technical information about IRIS
  145.                 Performer?
  146. Date: 06 Oct 93 00:00:01 EST
  147.  
  148. One method is to join the IRIS Performer mailing list.
  149.  
  150. The list is intended to be an unmoderated, free-form discussion of IRIS
  151. Performer with issues both technical and non-technical; and to provide
  152. feedback to Silicon Graphics about the product.  Much like the
  153. comp.sys.sgi.* newsgroups, it is not an official support channel but is
  154. monitored by several interested SGI employees familiar with the
  155. toolkit.
  156.  
  157. To become a subscriber to the IRIS Performer mailing list you must send
  158. email to:
  159.  
  160.     info-performer-request@sgi.com
  161.  
  162. New subscribers are added "by hand".  Once your request is processed
  163. you will receive submission/posting instructions, some guidelines, and
  164. a current copy of the Performer Frequently-Asked-Questions (FAQ) list.
  165.  
  166. ------------------------------
  167.  
  168. Subject:    -3- Where can I get more product information about IRIS
  169.                 Performer?
  170. Date: 06 June 93 00:00:01 EST
  171.  
  172. For product information about IRIS Performer or SGI Visual Simulation
  173. issues contact John Burwell <johnnyb@asd.sgi.com>.  To learn about SGI
  174. Virtual Reality solutions contact Joshua Mogal (415) 390-1460
  175. <mogal@asd.sgi.com>.  To just give in and buy a copy ($495 US) call SGI
  176. Direct (see the misc FAQ for phone numbers) or to have both a
  177. demonstration and a presentation call your local SGI sales office.
  178.  
  179. ------------------------------
  180.  
  181. Subject:    -4- How does IRIS Performer relate to IRIS Inventor?
  182. Date: 26 June 93 00:00:01 EST
  183.  
  184. The short answer is, Performer was designed for vis-sim, while Inventor
  185. was designed to be more general purpose.
  186.  
  187. IRIS Performer is for developers who need to extract maximum
  188. performance from SGI machines for visual simulation, virtual reality,
  189. game development, and high-end CAD systems.  Often these applications
  190. need multi-processor Onyx systems with multiple RealityEngine pipelines
  191. with a high degree of parallelism and running at fixed frame rates.
  192.  
  193. Inventor is designed for maximum programmer productivity when writing
  194. other kinds of 3D applications, like modelling, animation,
  195. visualization, etc.
  196.  
  197. Both toolkits are general purpose enough that they could be extended
  198. into the domain of the other, but the question you should consider is
  199. "what is the *fundamental* goal of my graphics development?" If it's
  200. portability to non-SGI systems, easy X-window system integration, or
  201. handy graphic widgets, IRIS Inventor is for you.  If it's brochure-
  202. level performance in advanced graphic applications for the specific
  203. domains listed above, then IRIS Performer would be the likely tool.
  204.  
  205. ------------------------------
  206.  
  207. Subject:    -5- What are the released versions of IRIS Performer?
  208. Date: 06 Oct 93 00:00:01 EST
  209.  
  210. IRIS Performer 1.0:  For machines running IRIX 4.x only
  211. IRIS Performer 1.1:  For machines running IRIX 5.x only
  212.  
  213. IRIS Performer 1.2 is currently in an early stage of beta testing.
  214. It will run on machines running either IRIX 4.x or IRIX 5.x
  215.  
  216. ------------------------------
  217.  
  218. Subject:    -6- Is there a IRIS Performer file format?
  219. Date: 26 Oct 93 00:00:01 EST
  220.  
  221. Not at this time.  A binary file format is a desired feature for a
  222. future release.  Currently, IRIS Performer has functionality to load
  223. other vendors' database files at run time.
  224.  
  225. ------------------------------
  226.  
  227. Subject:    -7- What database file formats can IRIS Performer read?
  228. Date: 26 Oct 93 00:00:01 EST
  229.  
  230. IRIS Performer 1.0 and 1.1 include database loaders for MultiGen v11
  231. "flt", SGI "bin", and SGI "obj" formats.
  232.  
  233. IRIS Performer 1.2 will include loading utilities and file loaders for
  234. additional file formats, including Coryphaeus "dwb", MultiGen v12
  235. "flt", AutoCAD "dxf", and Wavefront "obj".
  236.  
  237. You can get a MultiGen 12 version of LoadFlt() for Performer 1.0 and
  238. 1.1 by contacting Norm Miller at Software Systems, the makers of
  239. MultiGen.
  240.  
  241.     Mr. Norm Miller
  242.     Software Systems
  243.     1884 The Alameda
  244.     San Jose, CA  95126
  245.     P: (408) 247-4326
  246.     F: (408) 247-4329
  247.     multigen!norm@uunet.UU.NET
  248.  
  249. ------------------------------
  250.  
  251. Subject:    -8- Is there an IRIS Inventor file reader for IRIS
  252.                 Performer?
  253. Date: 26 Oct 93 00:00:01 EST
  254.  
  255. Not at this time.  An IRIS Inventor file reader is a planned
  256. feature for Performer 1.2.
  257.  
  258. ------------------------------
  259.  
  260. Subject:    -9- What are the .tlf files used by the Performer Town and
  261.                 Village?
  262. Date: 26 Oct 93 00:00:01 EST
  263.  
  264. They are encrypted .flt files of the Town and Village database.  Only
  265. the "demo" version of perfly can read these files.
  266.  
  267. Unencrypted versions of the Town and Village databases are planned to
  268. be included in Performer 1.2.
  269.  
  270. ------------------------------
  271.  
  272. Subject:   -10- What are the minimum requirements for using IRIS
  273.                 Performer?
  274. Date: 06 June 93 00:00:01 EST
  275.  
  276. IRIS Performer requires IRIX 4.0.5 or later.  Because IRIX 4.0.5F added
  277. several new Graphics Library (GL) calls to support RealityEngine
  278. features, any application that uses GL routines or tokens found only in
  279. 4.0.5F and later, will not run properly under 4.0.5C and earlier
  280. releases.
  281.  
  282. ------------------------------
  283.  
  284. Subject:   -11- How do I make GL calls from within a IRIS Performer
  285.                 program?
  286. Date: 26 Oct 93 00:00:01 EST
  287.  
  288. GL calls can only be made from a process that has a GL context.  In
  289. multi-process Performer applications only the draw process has GL
  290. context, so you must make your GL calls in a function called in the
  291. draw process.
  292.  
  293. The pipe initialization callback, draw function callback, and node draw
  294. callbacks are all executed in the draw process.
  295.  
  296. In an application that only will ever run single-process, GL calls can
  297. be made from anywhere in the program.
  298.  
  299. To set up a pipe initialization callback, see the pfInitPipe() man
  300. page.  To set up a draw function callback, see the pfChanDrawFunc() man
  301. page.  To set up a node draw callback, see the pfNodeTravFuncs() man
  302. page.
  303.  
  304. ------------------------------
  305.  
  306. Subject:   -12- How do I overlay graphics on top of my Performer scene?
  307. Date: 06 Oct 93 00:00:01 EST
  308.  
  309. Typically this is done to implement a heads-up display (HUD).
  310.  
  311. In the draw function callback, the basic algorithm is:
  312.  
  313.     save state with pfPushState()
  314.     disable textures, fog, & lighting with pfBasicState()
  315.     save & clear projection matrix
  316.     ortho2()
  317.     save & clear modelling matrix
  318.     draw()
  319.     restore modelling matrix
  320.     restore projection matrix
  321.     restore state with pfPopState()
  322.  
  323. Or, you can draw your static info in the overlay planes and only redraw
  324. it when the window receives a REDRAW event (moved, resized, etc.).
  325. Changing between drawing to the overlays and drawing to regular
  326. bitplanes takes a big hit.
  327.  
  328. For things that need to be updated real-time, draw() would consist of:
  329.  
  330.     zfunction(ZF_ALWAYS);
  331.     zwritemask(0x0);
  332.     draw HUD stuff
  333.     zfunction(ZF_LEQUAL);
  334.     zwritemask(0xffffffff);
  335.  
  336. ------------------------------
  337.  
  338. Subject:   -13- What is the difference between phases FREE, FLOAT, and
  339.                 LOCK?
  340. Date: 26 Oct 93 00:00:01 EST
  341.  
  342. PFPHASE_FREE_RUN wakes the application and draw processes up on the
  343. next video field boundary after the draw finishes. i.e. it's
  344. Performer's version of the usual run as-fast-as-I-can or
  345. as-slow-as-I-must mode that most simple graphics programs use.
  346.  
  347. PFPHASE_FLOAT wakes the application up only on frame boundaries, i.e.
  348. time = n*(1/frame_rate).  However, the draw process "floats" with
  349. respect to the frame rate and wakes up on the next possible field
  350. boundary and then does a swapbuffers() when it's done, regardless of
  351. whether it finished drawing in time for the desired frame rate.  Hence
  352. you see every frame that's drawn to the backbuffer, but it may not
  353. appear at exactly the time for which it was planned.  If you never
  354. frame extend, it behaves like PFPHASE_FIXED.  Latency is variable.
  355.  
  356. PFPHASE_LOCK wakes the application and draw up only on frame boundaries
  357. and only swaps on frame boundaries.  The advantage is that each new
  358. image always appears at precisely the time for which it was rendered.
  359. The disadvantage is that if the draw runs even slightly over a frame
  360. time, you skip that entire frame and are stuck with an outdated picture
  361. for a frame.  Latency is fixed.
  362.  
  363. For more information see the pfPhase() man page or section 7.1.2 of the
  364. PFPG.
  365.  
  366. ------------------------------
  367.  
  368. Subject:   -14- Which rendering primitives does IRIS Performer support?
  369. Date: 06 Oct 93 00:00:01 EST
  370.  
  371. Points (PFGS_POINTS), 
  372. Independent line segments (PFGS_LINES), 
  373. connected line strips (PFGS_LINESTRIPS), 
  374. Independent Triangles (PFGS_TRIS), 
  375. Connected triangle strips (PFGS_TRISTRIPS),
  376. Independent quadrilaterals (PFGS_QUADS).
  377.  
  378. ------------------------------
  379.  
  380. Subject:   -15- How do I do triangle meshes in Performer?
  381. Date: 06 Oct 93 00:00:01 EST
  382.  
  383. You must change your triangle meshes to triangle strips by hand.  In
  384. Performer 1.2, pfuMeshGSet (from libpfutil) will do this for you.
  385.  
  386. ------------------------------
  387.  
  388. Subject:   -16- pfInit(): mmap failed for /dev/zero
  389. Date: 26 Oct 93 00:00:01 EST
  390.  
  391. This means that you tried to run a Performer 1.0 application (such as a
  392. 4.x version of perfly) on a machine running IRIX 5.x.  Virtual memory
  393. management is different in IRIX 5.x.  In order for your program to work
  394. properly you must:
  395.  
  396.     % setenv PFTMPDIR /usr/tmp
  397.  
  398. ------------------------------
  399.  
  400. Subject:   -17- IRIX 5.x Bug in Performer Town or Village demos
  401. Date: 26 Oct 93 00:00:01 EST
  402.  
  403. It was reported that perfly would cause an Onyx RE or VTX running IRIX
  404. 5.0 to hang.  This was fixed in 5.0.1.
  405.  
  406. In 5.0.1, perfly would generate floating point exceptions due to a bug
  407. in the font manager library (libfm).  This was fixed in 5.1.
  408.  
  409. ------------------------------
  410.  
  411. Subject:   -18- 1.0 Doc Bug in pfMakePolarSeg() man page
  412. Date: 26 Oct 93 00:00:01 EST
  413.  
  414. The man page for pfMakePolarSeg contradicts itself with respect to the
  415. meaning of azimuth and elevation. The correct paragraph should be:
  416.  
  417.     pfMakePolarSeg sets dst to the segment which starts at pos and has
  418.     length length and points in the direction specified by azi and
  419.     elev.  azi specifies the azimuth (or heading), which is the angle
  420.     which the projection of the segment in the X-Y plane makes with the
  421.     +Y axis.  elev specifies the elevation (or pitch), the angle with
  422.     respect to the X-Y plane.  The positive Y axis is azi=0 and
  423.     elev=0.  Azimuth follows the right hand rule about the +Z azis,
  424.     e.g. -  +90 degrees is the -X axis.  Similarly, elevation follows
  425.     the right hand rule about the X axis, e.g. -  +90 degrees is the +Z
  426.     axis.
  427.  
  428. Note that in IRIS Performer 1.0, an azi and elev of 0.0 is equivalent
  429. to the +X axis while in 1.1, this has been changed to the +Y axis.
  430.  
  431. ------------------------------
  432.  
  433. Subject:   -19- 1.0 Doc Bug in pfDispList() man page
  434. Date: 26 Oct 93 00:00:01 EST
  435.  
  436. The pfDispList man page says the size argument is in bytes; it should
  437. say words.
  438.  
  439. ------------------------------
  440.  
  441. Subject:   -20- 1.0 Doc Bug in PFPG (simple.c)
  442. Date: 26 Oct 93 00:00:01 EST
  443.  
  444. The program simple.c in the IRIS Performer Programming Guide (PFPG)
  445. does not bind a light and draws a black image on Elan systems.  The
  446. corrected version, which creates and binds a light in the pipe
  447. initialization callback, is in /usr/src/Performer/src/pguide
  448.  
  449. ------------------------------
  450.  
  451. Subject:   -21- 1.0 Bug in pfGetTime()
  452. Date: 26 Oct 93 00:00:01 EST
  453.  
  454. In 1.0, pfGetTime() would occasionally return bad values (off by 4000+
  455. seconds) on Indigo2 and machines without a fast counter, e.g.
  456. PowerSeries/IO2.
  457.  
  458. There was no workaround.
  459.  
  460. ------------------------------
  461.  
  462. Subject:   -22- 1.0 Bug in pfNodeBBox()
  463. Date: 26 Oct 93 00:00:01 EST
  464.  
  465. pfNodeBBox did not set the bounding box of a node.  A symptom was that
  466. the bounding boxes of the node would not change when modifying a parent
  467. pfDCS.
  468.  
  469. The workaround was to OR the value 0x0010 into the mode, e.g.-
  470.  
  471.    pfNodeBBox(node, &bbox, PFN_BMODE_STATIC | 0x0010);
  472.  
  473. ------------------------------
  474.  
  475. Subject:   -23- 1.0 Bug in pfInitGfx() with Z-buffer on RealityEngine
  476. Date: 26 Oct 93 00:00:01 EST
  477.  
  478. pfInitGfx on RealityEngines would call lsetdepth(0x0, 0x0), essentially
  479. disabling zbuffering.
  480.  
  481. The workaround was to call lsetdepth explicitly after pfInitGfx, in the
  482. pipe initialization callback.
  483.  
  484. ------------------------------
  485.  
  486. Subject:   -24- 1.0 Bug in libpfflt combineLODs()
  487. Date: 26 Oct 93 00:00:01 EST
  488.  
  489. combineLODs() in the MultiGen .flt converter (in file hier.c) did not
  490. set the LOD center of combined LODs.  This would result in strange LOD
  491. behavior for LODs which were not modelled about the origin.
  492.  
  493. ------------------------------
  494.  
  495. Subject:   -25- 1.0 Bug with two-sided material and pfMtlColorMode()
  496. Date: 26 Oct 93 00:00:01 EST
  497.  
  498. Applying a back-sided material which had a color mode (pfMtlColorMode),
  499. would set the GL lmcolor mode. Since IrisGL does not support lmcolor
  500. for back-sided materials, this could have caused front-sided materials
  501. to use an improper lmcolor mode.
  502.  
  503. ------------------------------
  504.  
  505. Subject:   -26- 1.0 Bug in pfFilePath()
  506. Date: 26 Oct 93 00:00:01 EST
  507.  
  508. pfFilePath would exit with a FATAL error if it was called twice.
  509.  
  510. ------------------------------
  511.  
  512. Subject:   -27- 1.0 Bug in pfGetCurGState()
  513. Date: 26 Oct 93 00:00:01 EST
  514.  
  515. pfGetCurGState returned a pfGeoState which was the top of the state
  516. stack rather than the most recently applied pfGeoState.
  517.  
  518. ------------------------------
  519.  
  520. Subject:   -28- 1.0 Bug in pfGetCurState()
  521. Date: 26 Oct 93 00:00:01 EST
  522.  
  523. pfGetCurState returned a pfGeoState which was the top of the state
  524. stack rather than the current pfState.
  525.  
  526. ------------------------------
  527.  
  528. Subject:   -29- 1.0 Bug with cloned scenes
  529. Date: 26 Oct 93 00:00:01 EST
  530.  
  531. pfClone()'ed scenes were not properly cleaned and did not properly
  532. propagate updates.  In particular, cloned pfSequences did not work.
  533.  
  534. ------------------------------
  535.  
  536. Subject:   -30- 1.0 Bug intersections in collide.c
  537. Date: 26 Oct 93 00:00:01 EST
  538.  
  539. collide.c was shipped with a hardwired intersection mode which turned
  540. off intersection caching, substantially reducing intersection
  541. performance.
  542.  
  543. ------------------------------
  544.  
  545. Subject:   -31- 1.0 Bug with flattened pfLightPoints
  546. Date: 26 Oct 93 00:00:01 EST
  547.  
  548. pfFlatten()'ed pfLightPoints were broken for multiprocessing modes when
  549. the application and cull processes were separate.
  550.  
  551. ------------------------------
  552.  
  553. Subject:   -32- 1.0 Bug intersections with pfSequences
  554. Date: 26 Oct 93 00:00:01 EST
  555.  
  556. Intersections with pfSequences could sometimes turn them off
  557. (PFSEQ_STOP).
  558.  
  559. ------------------------------
  560.  
  561. Subject:   -33- 1.0 Bug intersections with non-indexed quads
  562. Date: 26 Oct 93 00:00:01 EST
  563.  
  564. Intersection caching for non-indexed quads was broken and could case a
  565. core dump when intersection with pfGeoSets of this type.
  566.  
  567. ------------------------------
  568.  
  569. Subject:   -34- 1.0/1.1 Bug intersections with pfSwitch'es
  570. Date: 26 Oct 93 00:00:01 EST
  571.  
  572. Intersections with pfSwitch'es whose value is PFSWITCH_OFF could cause
  573. a core dump.
  574.  
  575. ------------------------------
  576.  
  577. Subject:   -35- 1.0/1.1 Bug with pfTexture()
  578. Date: 26 Oct 93 00:00:01 EST
  579.  
  580. On RealityEngine systems, EXTERNAL format was ignored.
  581.  
  582. ------------------------------
  583.  
  584. Subject:   -36- 1.0/1.1 Bug with pfAntiAlias()
  585. Date: 26 Oct 93 00:00:01 EST
  586.  
  587. On RealityEngine systems, pfAntialias(PFAA_OFF) did not turn off
  588. multisampling.
  589.  
  590. ------------------------------
  591.  
  592. Subject:   -37- 1.0/1.1 Bug with pfFlatten()
  593. Date: 26 Oct 93 00:00:01 EST
  594.  
  595. pfFlatten did not dirty bounding spheres of flattened nodes so they had
  596. improper bounds and would not cull correctly.
  597.  
  598. ------------------------------
  599.  
  600. Subject:   -38- 1.0/1.1 Bug with pfSequences
  601. Date: 26 Oct 93 00:00:01 EST
  602.  
  603. pfSequences: PFSEQ_RESUME ignored children's display times and drew
  604. subsequent children for 1 frame only.
  605.  
  606. ------------------------------
  607.  
  608. Subject:   -39- 1.0/1.1 Bug with pfClosestPtOnPlane()
  609. Date: 26 Oct 93 00:00:01 EST
  610.  
  611. pfClosestPtOnPlane returned wrong result.  Also, the man page had the
  612. wrong prototype.
  613.  
  614. ------------------------------
  615.  
  616. Subject:   -40- 1.0/1.1 Bug on ELAN/XS with wireframe PFGS_QUADS
  617. Date: 26 Oct 93 00:00:01 EST
  618.  
  619. On EXPRESS Graphics platforms (XS, XS24, ELAN, etc), wireframe quads
  620. have a stray line from one vertex to "infinity" when displayed in
  621. wireframe mode.
  622.  
  623. ------------------------------
  624.  
  625. Subject:   -41- 1.1 Bug with FP underflow
  626. Date: 26 Oct 93 00:00:01 EST
  627.  
  628. The cull process could encounter an FP underflow that could
  629. periodically affect cull performance.
  630.  
  631. ------------------------------
  632.  
  633. Subject:   -42- 1.1 Bug with Multipipe Onyx
  634. Date: 26 Oct 93 00:00:01 EST
  635.  
  636. There is a bug in the 1.1 multipipe code.  The symptom is a core dump
  637. and an error like:
  638.  
  639.    Performer Fatal (4):pfFree() pointer 0x9c9350 not from pfMalloc
  640.  
  641. The workaround is to do the following after you've created a channel
  642. with pfNewChan:
  643.  
  644.    ((long**)chan)[3] = NULL;
  645.  
  646. ------------------------------
  647.  
  648. End of sgi/faq/performer Digest
  649. ******************************
  650. -- 
  651. The SGI FAQ group                                sgi-faq@viz.tamu.edu
  652. Finger us for info on the SGI FAQs, or look in viz.tamu.edu:/pub/sgi.
  653.